<?php
/*
 * Created on 2008. 8. 18.
 *
 * creator : cho sung hoon (akdddnet@gmail.com)
 * 
 * comment : Priority
 * 
 * 수정사항
 */
 
 	require_once __DIR__.'/IFilter.php';
 	
	class Priority implements IFilter
	{
		protected $_priority;
		protected $_operator;
		
		/**
		 * 생성자
		 * @param int 	 $priority 	: 필터 레벨
		 * @param string $operator	: 연산자 
		 */
		function __construct($priority, $operator = '<=')
		{
			// 정수형이 아닐 경우에는 경고
			if(!is_int($priority))
				throw new Exception('필터 레벨은 숫자로 입력해주시기 바랍니다.');
			
			$this->_priority = $priority;
			$this->_operator = $operator;	
		}
		
		
		/**
		 * Log 출력 Level, Log 입력 Level을 비교해서 화면 또는 파일에 출력할지를 확인합니다.
		 * 첫번째인자가 두번째 인자보다 낮을 경우 -1, 같으면 0, 높으면 1
		 * 
		 * @param array $event 
		 * @return boolean 
		 */
		public function accept($event)
		{
			return version_compare($event['priority'], $this->_priority, $this->_operator);
		}	
	} 
?>
